package com.tjec.project.projectWorkbench.mapper;

import com.tjec.project.projectWorkbench.domain.BmsCostNo;
import com.tjec.project.projectWorkbench.domain.BmsReportNo;

import java.util.List;

/**
 * 造价报告号Mapper接口
 * 
 * @author pangyongfeng
 * @date 2020-08-05
 */
public interface BmsCostNoMapper 
{
    /**
     * 查询造价报告号
     * 
     * @param guid 造价报告号ID
     * @return 造价报告号
     */
    public BmsCostNo selectBmsCostNoByGuid(String guid);

    /**
     * 查询造价报告号列表
     * 
     * @param bmsCostNo 造价报告号
     * @return 造价报告号集合
     */
    public List<BmsCostNo> selectBmsCostNoList(BmsCostNo bmsCostNo);

    /**
     * 新增造价报告号
     * 
     * @param bmsCostNo 造价报告号
     * @return 结果
     */
    public int insertBmsCostNo(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号
     * 
     * @param bmsCostNo 造价报告号
     * @return 结果
     */
    public int updateBmsCostNo(BmsCostNo bmsCostNo);

    /**
     * 删除造价报告号
     * 
     * @param guid 造价报告号ID
     * @return 结果
     */
    public int deleteBmsCostNoByGuid(String guid);

    /**
     * 批量删除造价报告号
     * 
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    public int deleteBmsCostNoByGuids(String[] guids);
    
    /**
     * 检查本业务下本报告类别是否已存在报告号
     * @param bmsReportNo
     * @return
     */
    public Integer checkBmsCostNo(BmsCostNo bmsCostNo);
    
    /**
     * 成果校审获取报告类型和报告号
     * @param bmsCostNo
     * @return
     */
    public List<BmsCostNo> selectCostTypeAndNoList(BmsCostNo bmsCostNo);

    /**
     * 更新造价报告号历史表状态为“已迁移”
     * @param bmsCostNo
     * @return
     */
    public int updateBmsCostNoHistory(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号表通过造价报告号
     * @param bmsCostNo
     * @return
     */
    int updateBmsCostNoByCostNo(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号历史表通过造价报告号
     * @param bmsCostNo
     * @return
     */
    int updateBmsCostNoHistoryByCostNo(BmsCostNo bmsCostNo);

    /**
     * 修查询造价报告号历史表通过造价报告号
     * @param bmsCostNo
     * @return
     */
    BmsCostNo selectBmsCostNoHistoryByCostNo(BmsCostNo bmsCostNo);

    /**
     * 修改造价报告号历史表“状态”为“已迁移”通过造价号
     * @param bmsCostNo
     * @return
     */
    int updateBmsCostNoHistoryByStatusCostNo(BmsCostNo bmsCostNo);
    
    public int updateCostByBusinessIdCancel(String businessId);
    
    public int updateCostByBusinessId(String businessId);
    
    public int deleteBmsCostNoByCostNo(String costNo);
    
    public int updateBmsCostNoHistoryByCostNoNew(String costNo);
}
